// 入口函数
$(function () {
    // 调用 获取用户基本信息
    getUserinfo()

    var layer = layui.layer
    // 点击按钮，实现退出功能
    $('#btnLogout').on('click', function () {
        // 提示用户是否退出
        layer.confirm('确认退出登录？', {
         
            icon: 3,
            title: '提示'
        }, function (index) {
            // prompt("哈哈哈") //没有用 单纯弹出
            // do something
            // 清空本地存储(localStorage)中的token
            localStorage.removeItem('token')
            location.href = '/login.html'
            // 关闭confirm 询问框
            layer.close(index)

        })
    })
})

function getUserinfo() {
    // 以/my开头的请求路径需要在请求头中携带Authorization身份认证字段,才能访问成功
    $.ajax({
        method: 'GET',
        url: '/my/userinfo',
        // Headers就是请求配置对象
        // headers: {

        //     Authorization: localStorage.getItem('token') || ''
        // },
        // 成功回调
        success: function (res) {
            // console.log(res);
            if (res.status !== 0) {
                return layui.layer.msg('获取用户信息失败!')

            }
            renderAvatar(res.data)
        },
        // 不论成功还是失败，最终都会调用 complete 回调函数
        // complete: function (res) {
        //     // console.log('执行了 complete 回调：')
        //     console.log(res)
        //     // 在 complete 回调函数中，可以使用 res.responseJSON 拿到服务器响应回来的数据
        //     if (res.responseJSON.status === 1 && res.responseJSON.message === '身份认证失败！') {
        //         // 1. 强制清空 token
        //         localStorage.removeItem('token')
        //         // 2. 强制跳转到登录页面
        //         location.href = '/login.html'
        //     }
        // }
    })
}

// 渲染用户头像
// 如果用户有昵称  那么显示昵称  否则显示username用户名
function renderAvatar(user) {

    var name = user.nickname || user.username
    $('#welcome').html('欢迎 &nbsp;' + name);
    // 如果 上传图片不为空 
    if (user.user_pic !== null) {
        // 那么就渲染图片
        $('.layui-nav-img')
        .attr('src', user.user_pic)
        .show()
        $('.text-avatar').hide()
    } else {
        // 渲染文本头像
        $('.layui-nav-img').hide()
        var first = name[0].toUpperCase()
        $('.text-avatar').html(first).show()

    }
}